package org.easy.byteaidraw.dto;

import lombok.Data;

@Data
public class AnimeDrawRequest {
    /**
     * 用于生成图像的提示词 ，中英文均可输入。
     * 建议文本是描述性的语言，相对完整表述主体在什么环境有什么行为，可考虑将扩写或者图片主体反推的信息加入到prompt中
     */
    private String prompt;

    /**
     * 参考图 可为空，无则文生图
     */
    private String originImg;
    /**
     * 0.0<strength=<1.0之间，（越小越接近原图，越大越接近文本控制)
     * 默认：0.7
     * 取值范围(0, 1.0]
     */
    private Float strength = 0.7f;

    /**
     * 影响文本描述的程度
     * 默认值：7，取值范围[1, 30]
     */
    private Float scale = 7f;
    /**
     * 生成图像的精细程度，越大效果可能更好但是延迟会增加
     * 默认值：20，取值范围[1,50]
     */
    private Integer ddimSteps = 50;

    /**
     * 生成图像的宽
     * 默认值：1024，取值范围为[576,1728]
     * 总像素数<=1088*1088
     * 注：图生图返回尺寸：
     * 输入图长边与短边比例大于等于1小于1.77，超过1.77过多有极大概率生成失败
     * 若不传width和height，生成图片最长边是1024，依据原图尺寸等比例返回；
     * 若传width和height，以2个值中较大值为长边，依据原图尺寸等比例返回。
     */
    private Long width;

    /**
     * 生成图像的高
     * 默认值：1024，取值范围为[576,1728]
     * 总像素数<=1088*1088
     * 注：图生图返回尺寸：
     * 输入图长边与短边比例大于等于1小于1.77，超过1.77过多有极大概率生成失败
     * 若不传width和height，生成图片最长边是1024，依据原图尺寸等比例返回；
     * 若传width和height，以2个值中较大值为长边，依据原图尺寸等比例返回。
     */
    private Long height;


}
